package com.ruoyi.ma.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.ma.domain.MaMaterialManifest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import java.util.List;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 材料清单业务对象 ma_material_manifest
 *
 * @author llb
 * @date 2024-11-01
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class MaMaterialManifestBo extends BaseEntity {

    /**
     * 清单id
     */
//    @NotNull(message = "清单id不能为空", groups = { EditGroup.class })
    private Long manifestId;

    /**
     * 标段id
     */
//    @NotNull(message = "标段id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long bdId;

    /**
     * 站点id
     */
//    @NotNull(message = "站点id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long zdId;

    /**
     * 供应商id
     */
    @NotNull(message = "供应商id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long gysId;
    /**
     * 甲供材标准清单id
     */
    private Long maStandardId;
    /**
     * 类型id
     */
//    @NotNull(message = "类型id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long type;

    /**
     * 清单编号
     */
//    @NotBlank(message = "清单编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String manifestCode;

    /**
     * 清单名称
     */
//    @NotBlank(message = "清单名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String manifestName;

    /**
     * 型号
     */
//    @NotBlank(message = "型号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String model;

    /**
     * 规格
     */
//    @NotBlank(message = "规格不能为空", groups = { AddGroup.class, EditGroup.class })
    private String specification;

    /**
     * 单位
     */
//    @NotBlank(message = "单位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String unit;

    /**
     * 清单数量
     */
//    @NotNull(message = "清单数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal manifestNumber;

    /**
     * 清单单价
     */
//    @NotNull(message = "清单单价不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal manifestPrice;

    /**
     * 清单金额
     */
//    @NotNull(message = "清单金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal manifestTotal;

    /**
     * 调整额
     */
//    @NotNull(message = "调整额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal adjustments;

    private List<MaMaterialManifest> addList;
    private List<MaMaterialManifest> updateList;

}
